package xyz.luxiaoxiang.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;

/**
 * 聊天服务
 * Created by luxx on 2018/3/28 0028.
 */
@Service
public class ChatService {
    /**
     * 使用过机器人聊天服务的人
     * key:userId
     * value:最后的使用时间
     */
    public static Map<String, Long> chatUserIds = new HashMap<>();

    /**
     * 聊天过期十分钟10分钟
     */
    private static final long EXPIRE_TIME = 10 * 60 * 1000L;


    public String chat(String content, String userId) {
        /**
         * 判断是否还在跟机器人聊天
         */
        if (chatUserIds.containsKey(userId)) {
            if (chatUserIds.get(userId) + EXPIRE_TIME > System.currentTimeMillis()) {
                if ("退出".equals(content)) {
                    chatUserIds.remove(userId);
                    return "已退出聊天模式";
                } else {
                    chatUserIds.put(userId, System.currentTimeMillis());
                    return tuLingService.chat(content);
                }
            }
        }
        if (content.contains("聊天") || "1".equals(content)) {
            chatUserIds.put(userId, System.currentTimeMillis());
            return "进入聊天模式\n(如果不想聊了回复“退出”哦~)";
        } else if (content.contains("博客") || "2".equals(content)) {
            return "http://www.luxiaoxiang.xyz";
        } else if (content.contains("二维码") || "3".equals(content)) {
            return "http://www.luxiaoxiang.xyz/qrcode/index";
        } else if (content.contains("查询")) {
            return zhihuService.queryContext(content.substring(2).trim());
        }
        return "欢迎来到这里，回复数字或对应功能\n1、聊天功能\n2、查看博客\n3、二维码生成\n4、查询 “关键词”(中间有空格 并且不带引号哦)";
    }

    @Autowired
    private TuLingService tuLingService;
    @Autowired
    private ZhihuService zhihuService;
}



